1. Field of the Invention
The present invention is related to personal computers and more particularly to an apparatus for dynamically switching between asynchronous signals without generating glitches.
2. Background Art
The flow of information through the internal circuits of a computer is synchronized by an electronic circuit called a clock that generates evenly spaced timing pulses at high speeds. IBM Personal Computers are marketed to various market segments at price/performance levels that basically are related to the clock speed at which the microprocessor operates. This speed determines the kinds of peripheral devices, such as printers and monitors, and memory devices that can be used with the base machine. For example, the Intel 386 DX family of processors are available at speeds of 16, 20, 25 and 33 megahertz (MHz), at proportionally increasing prices.
The main hardware part of a personal computer (PC) is called a mother board which is a large printed circuit board that has plugged into it the computers central processing unit (CPU), which is an INTEL brand or compatible microprocessor, random access memory (RAM), and microprocessor support chips. The mother board has expansion slots that receive add-in cards that plug into the expansion slots. The IBM PC architecture uses the MICROSOFT brand disc operating system (DOS) as the software program that controls the overall operation of the computer by instructing the computer what to do and when to do it.
Modern computer systems are usually designed in a fully synchronous fashion. This often requires distribution of a large number of low skew clocks throughout the system. In some circumstances, there may be several choices for what the speed of this clock is and a method of dynamically switching between different clocks, i.e. between asynchronous signals, without generating glitches must be devised.
The most common way of switching between a plurality of clocks is manually by human intervention. The person configuring the system is instructed to shut off power to the computer and to insert an appropriate jumper to select the proper clock. This method is subject to human error and cannot be performed dynamically while the machine is in operation.
Another approach is to have a standard multiplexer switch between the clocks. The multiplexer approach provides dynamic switching, but it also generates spurious, unwanted signals called glitches on the resulting clock signal. Glitches may cause the computer operation to malfunction or perform erratically.
It is an object of this invention to provide a method and apparatus for dynamically switching between asynchronous clock signals without generating glitches.